1. The Field of the Invention
The present invention relates generally to preparation of network data transmitted over a communication link. More specifically, embodiments of the present invention relate to preparation of network data transmitted at a high rate of speed for analysis of the network data.
2. The Relevant Technology
As the world becomes increasingly dependent on electronics for entertainment, business, and communication, the ability to safely and efficiently transmit large amounts of electronic data is of particular importance. Similarly, as the capacity and complexity of computer networks capable of transferring large amounts of data continues to rise, so does the need for diagnostic equipment that can efficiently monitor and diagnose problems within these networks.
Typically, as network data moves from a point of origin within the network to a different destination point, the network data passes through a variety of links or devices. Often, the devices use different types of hardware, each using a particular interface language or “protocol.” Thus, as the network data travels through the system, the data is modified so that the data can be transmitted by the various devices, often causing errors or other problems with the network data.
Examples of commonly used high speed network protocols are Fibre Channels, Gigbit Ethernet, and ATM/OC3. For each of these protocols, specific diagnostic devices called protocol analyzers are connected to computer networks in order to record or trace data communicated across the network in an effort to capture information relating to performance and/or problems within the network.
In many networks, network data is transferred in packets or frames of data. By way of example, a frame may include many different fields such as a header, a payload, and a footer. The frame can be parsed to access the desired information in each field of the frame. The network data stream can also be described in terms of frames, block, cell, segment, or other terms known in the art.
In addition to transferring data, some networks, such as Fiber Channel communication networks may also transmit meta-data or information relating to the data or payload carried by the frames. This information may relate to the length of the frame, network synchronization, identification number or “Q” number, protocol, destination address, and originating address of the data. This information may be included in the frames in special fields, or may be transferred using primitives or other datatypes. Primitives are special 40-bit characters typically used in low-level or protocol-level handshaking. Primitives may also be associated with frames as start-of-frame or end-of-frame primitives.
Generally, protocol analyzers capture data traffic in the communication system over a defined period of time, or in response or connection to the occurrence of a predefined event. Using this captured data, the analyzers may allow a network administrator to track the progress of selected data as it moves across the various links in the communications system. In this manner, corrupted or altered data can be identified and traced to the problem within the communications system.
An analyzer can include various hardware and software elements configured to capture data from communications links in the communications system and may present the captured data in various formats to a user or technician by way of a graphical user interface or other output device.
With the invention of higher speed networks and higher speed protocols, the amount of information that must be monitored by a protocol analyzer has increased dramatically. Despite several advances in the field, many conventional analyzers are not capable of capturing and analyzing data at the high speeds utilized by modern computer networks. Thus there is a need for a system and method for preparing network data that improves the bandwidth capabilities of an analyzer by reducing the high bandwidth data stream used in modern high-speed networks into lower bandwidth streams that conventional analyzers may analyze.